The invention relates to a method of synchronising clocks of network devices.
To transmit low-latency time-sensitive data, particularly in a non-deterministic network, particularly a wireless network, it is required to keep the clock of a transmitter and a receiver synchronized. Particularly the data clocks, used for the transfer of the data, have to be synchronised.
Various protocols are available to achieve synchronisation of clocks; some examples are NTPv3 (Network Time Protocol), IEEE1588 (Precision Time Protocol, PTP) or its derivates 802.1AS (Timing and Synchronization for Time-Sensitive Applications in Bridged Local Area Networks) and 802.11v (Wireless LAN). Solutions to synchronise data clocks in a wired network derive the data clock from the system clock, which is kept synchronous.
For synchronising two clocks, two values or parameters are of special importance: The offset and the drift. The offset is an instantaneous difference between two clocks. The drift is an increase of this offset over time. The offset usually also takes in account a delay time (also referred to as transmit delay time or transfer delay time). This delay time is the time it takes to transmit data between the transmitter and the receiver. Offset and drift have to be zero for clocks to be in synchronisation. Particularly, the offset and drift of a slave clock is adjusted to zero in order to synchronise this slave clock with a master clock.
In known implementations for wired networks, the drift is used to compensate the offset and create a control-loop. A convergence time of this control-loop depends on the absolute offset, including the delay time. Usually, a certain time is required to reach the lock state, time to drift until the offset of the slave system clock is zero. If the offset is large, the initial drift takes a long time. Thus it can take a long time until two clocks are synchronised.
An often used solution is a hard adjustment of the slave system clock. However, this can have (stability) consequences for clocks, which are derived from this system clock. Furthermore, the use of the system clock potentially introduces unwanted behaviour, for example all derived clocks (also referred to as peripherals) will have a “variable” frequency instead of only the clock that requires the synchronisation.
Moreover, these known implementations were designed for wired networks and are usually not compatible with non-deterministic networks. In non-deterministic networks, a channel access method allows several terminals connected to the same multi-point transmission medium to transmit over it and to share its capacity. Several network devices share the same medium. Particularly, non-deterministic networks are wireless networks, bus networks, ring networks, star networks or half-duplex point-to-point links.
With this multitude of network devices sharing the medium of the non-deterministic networks, it is not possible to determine, whether a network device can access the medium. Moreover, it is difficult or can even be impossible to predict, whether a network device is able to transmit data over the non-deterministic network, introducing variable (non-deterministic) latency in data transmission.
Because of the non-determinism of these kinds of networks, non-deterministic networks need a different method of synchronising clocks of network devices than more deterministic networks. Hence, the aim of the invention is to provide a method of synchronising clocks of network devices in a non-deterministic network in a short time and without stability problems for the network devices.